Drones and other autonomous or semi-autonomous devices are typically unstable by nature and require control systems that can implement fast and accurate control loops to correct undesirable movements. These movements can be caused by external forces such as wind and turbulence or by internal control errors. A common control system uses proportional integral derivative (PID) controllers. Other more complex systems use signal filters. However, tuning PIDs and signal filters is difficult and is often restricted to a subset of scenarios or requires some human input. Importantly, control systems cannot perform these tunings in time or in a desired manner, such as without human input, to be used in control of autonomous or semi-autonomous devices.
PIDs use the language of Laplace transforms and transfer functions. A transfer function is a time-independent way of describing how a signal changes as it propagates through a system. For example, a signal passing through a first component and then through a second component has a combined transfer function that is a product of the two functions describing the individual devices. The problem of controlling both components accurately and immediately may be seen as trying to find a system where the totality of sensors, actuators, environment, communication, and calculations should result in as close to an identity function as possible. The desired control signal passes first through a PID-like controller and then through actuators while being affected by the environment. The transfer function of the controller must then be the inverse of the transfer function that describes everything else in the system if their product is to be identity. Finding the inverse function for an arbitrary non-linear process function is difficult. As previously stated, this cannot be performed in time or in a sufficient manner to be used in control of autonomous or semi-autonomous devices.
Some control systems focus on attempting to modify the PIDs or to find methods of tuning the PIDs. These control systems use fixed values and/or active control loops such as PIDs where these parameters are buried in the control loop's parameters. The parameters contain too many elements and are not separable, which is not conducive to improving control of the devices.